Multi-view video coding (Multi-view Video Coding, MVC) is a technology put forward in H.264/AVC (Advanced Video Coding, advanced video coding) and is mainly used for coding a stereoscopic video or multi-angle three-dimensional video content.
Disparity vectors in the MVC represent redundant information of a same scene recorded between different views. The disparity vectors are vectors in a unit of a block, and are obtained by a coding end by calculation with a non-normative (non-normative) motion estimation algorithm. For another view, a displaced (displaced) block area of a view coded before may be used as a prediction signal of a currently coded area of the view according to a disparity vector. The disparity vectors in the unit of a block cannot accurately describe disparity information between multiple views, so that it is difficult for an MVC coding method to generate high-quality prediction signals used for compression of different views.
In the prior art, a three-dimensional video coding (3D Video Coding, 3DV) method is provided, and in the 3DV coding method, depth information is added. The depth information is used for describing a position relationship of each pixel between different views, so that a prediction signal which has relatively high quality and is used for compression of different views can be generated in the 3DV coding technology.
At the coding end, a process of the 3DV coding method is described briefly as follows, where a base view is coded by using a conventional coding standard: After the base view is coded, when a next view is coded, disparity information between a coded front view image and a view to be currently coded is calculated by using camera parameter information and depth image information of the front view image; a warping operation is performed on the front view image by using the disparity information to obtain a warped view image; and the warped view image is used as a reference image of a coding unit of the view to be currently coded, and coding processing is performed on the view to be currently coded.
The disparity calculation may introduce pixel shift noise to an object or a local part of the object, which makes a pixel position after the warping not completely consistent with a position of the object in another view. This phenomenon may be explained as a rounding effect, and the effect is more obvious for an object near to a camera than for an object far away from the camera. The occurrence of the rounding effect reduces the precision of a warped view image obtained according to disparity information, and further affects the compression efficiency of the 3DV coding.